在正式講到判斷式之前,我想要先來簡介一下跟判斷式有關的運算子,畢竟要學習如何用判斷式判斷條件,總要先知道怎麼設條件吧!其實 JavaScript 裡有好幾種類型的運算子,本篇聚焦的是其中兩種:比較運算子及邏輯運算子。
比較運算子會比較兩個值,並依比較的結果回傳 true
或 false
。 拿來做比較的值可以是數字、字串、布林,或物件。
比較運算子總共有以下這幾個符號:
等於:==
不等於:!==
大於:>
小於:<
大於等於:>=
小於等於:<=
console.log(5 == 6);
// false
console.log(5 !== 6);
// true
=
:賦予變數一個值(最常見的賦值運算子)==
: 比較兩個值是否相同(比較運算子)
例如,可以先用變數分別記錄要比較的兩個值,宣告第三個變數,用以儲存變數一 ==
或 !==
變數二的值。
var a = 1;
var b = 2;
var c = a !== b;
console.log(c); // true
用 ==
去判斷兩個值是否相等時,解譯器會自動忽略型別(字串類型、數字類型)的不同,而直接判斷內容是否相等。
console.log(1 == '1');
// true
而且解譯器會自動把數字 1
視作布林值的 ture
、把數字 0
視作布林值的 false
。
console.log(true == 1);
// true
console.log(fasle == 0);
// true
如果使用 ===
則能先判斷型別,再判斷內容。
console.log(1 === '1');
// false
console.log('1' === '1');
// true
通常在判斷式裡與布林值一起使用。
包含以下三種符號:
&&:and,連接兩個以上的條件,全部條件成立才會回傳 true
||:or,連接兩個以上的條件,只要其中一個條件成立就會回傳 true
!:not,可以把回傳值轉成相反的,例如下面的程式碼
console.log(2>3);
// false
console.log(!(2>3));
// true
注意,判斷兩個以上的條件時,條件跟條件之間必須用 && 跟 || 連接。我有時候會忘記這件事 orz
var a = 1 < 2 < 3; //錯誤寫法
var b = 1<2 && 2<3; //正確寫法
這篇很像廢文,不過明天就真的要講判斷式了><